﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Data.Linq.Mapping;
using System.Text;
using SRD.Model.SRD.DTO;
using SRD.Model.SRD.Util;
using System.Data.SqlClient;
using System.Data;
using System.Collections;
using System.Web.UI.WebControls;
using System.Configuration;

namespace SRD.Model.SRD.DAO
{
    class EmpresaCargoDAO
    {
        DataClassesSRDDataContext bancoDados = new DataClassesSRDDataContext();

        public EMPRESA_CARGO findByID(EMPRESA_CARGO empresaCargo)
        {
            var resultado = (from e in bancoDados.EMPRESA_CARGOs
                             where e.EMPRESA_CARGO_ID == empresaCargo.EMPRESA_CARGO_ID
                             select e).First();

            return resultado;
        }

        public IQueryable findAll()
        {
            var resultado = from e in bancoDados.EMPRESA_CARGOs
                            select e;

            return resultado;
        }

        public string insert(EMPRESA_CARGO empresaCargo)
        {
            try
            {
                bancoDados.EMPRESA_CARGOs.InsertOnSubmit(empresaCargo);
                bancoDados.SubmitChanges();
                return "Inclusão realizada com sucesso!";
            }
            catch (Exception o)
            {
                return "Houve erro na inclusão: " + o.Message;
            }
        }

        public string update(EMPRESA_CARGO empresaCargo)
        {
            try
            {
                var empresaCargoExistente = (from e in bancoDados.EMPRESA_CARGOs
                                        where e.EMPRESA_ID == empresaCargo.EMPRESA_CARGO_ID
                                        select e).First();
                empresaCargoExistente = empresaCargo;
                bancoDados.SubmitChanges();
                return "Atualização realizada com sucesso!";
            }
            catch (Exception o)
            {
                return "Houve erro na atualização: " + o.Message;
            }
        }

        public string delete(EMPRESA_CARGO empresaCargo)
        {
            try
            {
                var empresaCargoExitente = (from e in bancoDados.EMPRESA_CARGOs
                                       where e.EMPRESA_CARGO_ID == empresaCargo.EMPRESA_CARGO_ID
                                       select e).First();
                EMPRESA_CARGO emp = empresaCargoExitente;
                bancoDados.EMPRESA_CARGOs.DeleteOnSubmit(emp);
                bancoDados.SubmitChanges();
                return "Registro excluído com sucesso!";
            }
            catch (Exception o)
            {
                return "Houve erro ao excluir: " + o.Message;
            }
        }
    }
}
